home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / e / cha_source.lha / cha_source / fxecho.e < prev    next >
Encoding:
Text File  |  1999-12-18  |  1.2 KB  |  39 lines

  1. /*==========================================================================+
  2. | fxecho.e                                                                  |
  3. | echo effect                                                               |
  4. +--------------------------------------------------------------------------*/
  5.  
  6. OPT MODULE
  7.  
  8. MODULE '*inputbuffer', '*outputbuffer', '*cbuffer', '*processor'
  9.  
  10. /*-------------------------------------------------------------------------*/
  11.  
  12. EXPORT OBJECT echo OF processor
  13. PRIVATE
  14.     out    : PTR TO cbuffer
  15.     decay  : LONG
  16. ENDOBJECT
  17.  
  18. PROC echo(input : PTR TO inputbuffer, output : PTR TO outputbuffer,
  19.           length : LONG, decay : LONG) OF echo
  20.     self.processor(input, output)
  21.     NEW self.out.cbuffer(length)
  22.     self.decay  := decay
  23. ENDPROC
  24.  
  25. PROC end() OF echo
  26.     END self.out
  27. ENDPROC SUPER self.end()
  28.  
  29. PROC process() OF echo
  30.     DEF out : LONG
  31.     out := ! self.input.read() + (! self.decay * self.out.read())
  32.     self.out.write(out)
  33.     self.out.next()
  34. ENDPROC self.output.write(out)
  35.  
  36. /*--------------------------------------------------------------------------+
  37. | END: fxecho.e                                                             |
  38. +==========================================================================*/
  39.